package com.py.credit.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.py.credit.entity.Xyjg;
import com.py.credit.entity.XyjgDrqy;
import com.py.credit.entity.XyjgDrqydf;
import com.py.framework.core.common.Page;

public interface SzjgDao {
	
	 List<Map<String, Object>> selectByConditionForPage(
			@Param(value = "rank") String rank,
			@Param(value = "modelId") String modelId,
			@Param(value = "columns") List<String> columns,
			@Param(value = "additionalColumns") String[] additionalColumns,
			@Param(value = "conditions") List<String> conditions, @Param(value = "page") Page page);
	
	 List<Map<String, Object>> select2ByConditionForPage(
			@Param(value = "rank") String rank,
			@Param(value = "columns") List<String> columns,
			@Param(value = "additionalColumns") String[] additionalColumns,
			@Param(value = "conditions") List<String> conditions, @Param(value = "page") Page page);
	
	Map<String, Object> getModelByOffice(@Param(value = "ywId") String ywId,
			@Param(value = "officeId") String officeId);
	
	 List<Map<String, Object>> getByDrqyConditionForPage(
			@Param(value = "name") String name,
			@Param(value = "startTime") String startTime,
			@Param(value = "endTime") String endTime,
			@Param(value = "userId") String userId,
			@Param(value = "deptId") String deptId,
			@Param(value = "areaId") String areaId,
			@Param(value = "columns") List<String> columns,
			@Param(value = "additionalColumns") String[] additionalColumns,
			@Param(value = "conditions") List<String> conditions, @Param(value = "page") Page page);
	
	
	List<String> getBumeng(@Param(value = "ywId") String ywId);
	
	List<String> getDengjiByModel(@Param(value = "modelId") String modelId);
	
	int addXyjgDrqy(XyjgDrqy xyjgDrqy);
	
	void addXyjgDrqyQy(@Param(value = "name") String name,
			@Param(value = "id") String id);
	
	 List<Map<String, Object>> getByDrqydf(
			@Param(value = "modelId") String modelId,
			@Param(value = "id") String id,
			@Param(value = "ranks") String ranks,
			@Param(value = "startfen") String startfen,
			@Param(value = "endfen") String endfen,
			@Param(value = "list") String[] list);
	
	 List<Map<String, Object>> get2ByDrqydf(
			@Param(value = "id") String id,
			@Param(value = "ranks") String ranks,
			@Param(value = "startfen") String startfen,
			@Param(value = "endfen") String endfen,
			@Param(value = "list") String[] list);
	
	 void addXyjg(Xyjg xyjg);
	 
	 void addXyjgqy(XyjgDrqydf XyjgDrqydf);
	 
	 List<Map<String, Object>> getByXyjgConditionForPage(
				@Param(value = "id") String id,
				@Param(value = "name") String name,
				@Param(value = "startTime") String startTime,
				@Param(value = "endTime") String endTime,
				@Param(value = "userId") String userId,
				@Param(value = "deptId") String deptId,
				@Param(value = "areaId") String areaId,
				@Param(value = "columns") List<String> columns,
				@Param(value = "additionalColumns") String[] additionalColumns,
				@Param(value = "conditions") List<String> conditions, @Param(value = "page") Page page);
	 
	 List<Map<String, Object>> getXyjgqyByConditionForPage(
				@Param(value = "id") String id,
				@Param(value = "columns") List<String> columns,
				@Param(value = "additionalColumns") String[] additionalColumns,
				@Param(value = "conditions") List<String> conditions, @Param(value = "page") Page page);
	 
	 List<Map<String, Object>> getXyjgtjByConditionForPage(
				@Param(value = "deptId") String deptId,
				@Param(value = "yongtu") String yongtu,
				@Param(value = "columns") List<String> columns,
				@Param(value = "additionalColumns") String[] additionalColumns,
				@Param(value = "conditions") List<String> conditions, @Param(value = "page") Page page);
	 
	 List<Map> getLhcj(@Param(value = "ztmc") String ztmc,
			 @Param(value = "bm") String bm,
			 @Param(value = "type") String type);
	 
}